; Zadanie 2.3
; Algorytm Euklidesa

; int nwd(int a, int b)

;	a:	esp + 4		
;	b:	esp + 8
;

	global _nwd
		
	section .text
	

	
_nwd:	
	mov eax, [esp+4]	; a = eax
	mov ecx, [esp+8]	; b = ecx

_loop:
	cmp eax, ecx	; czy a = b ?
	je rowne		; a = b
	
	; a != b
	cmp eax, ecx	; czy a > b ?
	jg	a_wieksze	; a > b
	
	; b wieksze
	sub ecx, eax
	jmp _loop
a_wieksze:
	sub eax, ecx
	jmp _loop
rowne:
	ret
	
	
	